<?php
  /*
   Forme des lignes pour le Zombie
   ===============================
   =>  url¤tag1,tag2
  */
  
class zombie extends Plugin
{
    public function __construct ( ) {
        parent::__construct();
        $this->scope[]   = 'template';
        $this->droits    = 'ADMIN';
        $this->nom       = 'Zombie serveur';
        $this->className = 'zombie';
        $this->desc      = 'Ce plugin permet d\'ajouter en masse des éléments via un client zombie.';
        $this->uniId     = 'ZombieUNIID';
        $this->version   = '0.1';        
        $this->content   = 
            '<form action="index.php" method="post">
                <p>
                    <input type="hidden" name="PLUGIN" value="zombie" />
                    <label for="zp1">Lien du zombie client<br />
                        <input type="text" id="zp1" name="zombie" value="" />
                    </label>
                    <label for="zp2">Publique ? 
                        <input id="zp2" type="checkbox" name="public" value="oui" />
                    </label>
                    <br />
                    <input type="submit" value="Ajouter les fichiers" />
                    <input class="bAnnuler" value="Annuler" type="button">
                </p>
            </form>';
    }

    public function action ( ) {
        if(parent::action() == 'nop') return 'nop';
        if(!$this->ok()) return 'z_err1';
    
        if (isset($_POST['zombie'])) {
            $cheminDuZombie = $_POST['zombie'];
            
            if(!file_exists_url($cheminDuZombie)) return 'z_err2';
            $fichierZombie  = file($cheminDuZombie);

            foreach($fichierZombie as $ligne) {
                $t    = explode('¤', trim($ligne));
                $tags = isset($t[1]) ? explode(',', $t[1]) : null;
                try{
                    $item = new Item(0, 
                                     basename(strtolower($t[0]),'.'.trouveExtention($t[0])), 
                                     $t[0], 
                                     $_SESSION['LOGIN'], 
                                     2);
                    $item->enregistrer();
                    $item->changerPublic(isset($_POST['public']));
                }
                catch(ListerException $e){}
                
                if(!is_null($tags)) foreach($tags as $tag){
                    $ta = new Tag($tag,1);
                    try{
                        $ta->enregistrer();
                    }
                    catch(ListerException $e){}
                    $item->ajouterTag($tag);
                }
            }
            index();
            return 'ok';
        }    
    }
}

?>
